La spécification Servlet recommande la création du répertoire WEB-INF pour toutes les applications web.
Vous pouvez créer vos propres fichiers et répertoires sous le répertoire WEB-INF ("/WEB-INF/test.jsp", "/WEB-INF/config/")
mais il faut savoir qu'un accès direct (via les appels HTTP) à ces fichiers sera rejetée par le conteneur de servlets avec une erreur HTTP (404: fichier non trouvé).
Une autre particularité du répertoire WEB-INF et que vous pouvez créer des fichiers et sous-répertoires qui sont définies par la spécification Servlet et qui ont un rôle dans le fonctionnement de l'application web :
-
/WEB-INF/web.xml : descripteur de déploiement de l'application web (deployment descriptor).
-
/WEB-INF/classes/ :
contient des classes (généralement des servlets ou des classes utilitaires) qui existent en tant que classes Java séparées (non packagées dans des fichiers JAR).
Comme les classes peuvent être organisées dans des packages, alors ces classes devraient exister dans des répertoires qui reflètent cette structure de packages.
Par exemple, la classe "login.class" du package "com.mtitek.support" doit se trouver dans "/WEB-INF/classes/ca/mtitek/support/login.class".
-
/WEB-INF/lib/ : contient les fichiers JAR.
Il faut noter que les classes Java existantes dans le répertoire "/WEB-INF/classes/" sont chargées en mémoire avant les classes existantes dans les fichiers JAR du répertoire "/WEB-INF/lib/".